Derek,
Try this:
http://www.dynomotion.com/Help/LibrariesFlowDiagram.PNG
But yes, it should be almost as simple as
swapping your kinematics for the “3Rod” equations. You will
need MS Visual Studio 2008 Standard edition to compile and make changes. Place
any file called Kinematics.txt into the \KMotion\Data directory to cause the CKinematics3Rod class
to be used by the system instead of the standard base class CKinematics.
In the case of the 3Rod (3 linear
actuators) the inverse kinematics are very simple to compute. See the
function shown below from file Kinematics3Rod.cpp:
int
CKinematics3Rod::TransformCADtoActuators(double x, double y, double z, double a, double b, double c, double *Acts)
{
// find lengths of each actuator
GeoCorrect(x,y,z,&x,&y,&z);
double r0 =
sqrt(sqr(x-Act0Center.x) + sqr(y-Act0Center.y) + sqr(z-Act0Center.z)) -
Act0Off;
double r1 =
sqrt(sqr(x-Act1Center.x) + sqr(y-Act1Center.y) + sqr(z-Act1Center.z)) -
Act1Off;
double r2 =
sqrt(sqr(x-Act2Center.x) + sqr(y-Act2Center.y) + sqr(z-Act2Center.z)) -
Act2Off;
Acts[0]
= r0*m_MotionParams.CountsPerInchX;
Acts[1]
= r1*m_MotionParams.CountsPerInchY;
Acts[2]
= r2*m_MotionParams.CountsPerInchZ;
Acts[3]
= a*m_MotionParams.CountsPerInchA;
Acts[4]
= b*m_MotionParams.CountsPerInchB;
Acts[5]
= c*m_MotionParams.CountsPerInchC;
return 0;
}
The forward Kinematics are more
difficult to compute so they are automatically computed! (numerically
using the inverse Kinematics in the function):
int
CKinematics3Rod::TransformActuatorstoCAD(double *Acts, double *xr, double *yr, double *zr, double *ar, double *br, double *cr)
There is a parameter that will set
the maximum length along a path where a linear relationship between CAD and
Actuator space may be assumed.
m_MotionParams.MaxLinearLength
= 0.25; // limit the segment
lengs for nonlinear systems
I think
a powerful feature of our Trajectory planner is to handle planning through many
tiny segments each with different velocity and acceleration constraints.
Regards,
TK
Group: DynoMotion |
Message: 98 |
From: ccdg@optusnet.com.au |
Date: 1/9/2010 |
Subject: Re: Bubble Diagram? |
Thanks Tom
That's what I needed.
Cheers
Derek
|
|